home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / g_man / cat3 / standard / endtrim.z / endtrim
Encoding:
Text File  |  1998-10-20  |  5.1 KB  |  133 lines

  1.  
  2.  
  3.  
  4. eeeennnnddddttttrrrriiiimmmm((((3333GGGG))))                                                        eeeennnnddddttttrrrriiiimmmm((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      bbbbggggnnnnttttrrrriiiimmmm,,,, eeeennnnddddttttrrrriiiimmmm - delimit a NURBS surface trimming loop
  10.  
  11. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  12.      vvvvooooiiiidddd bbbbggggnnnnttttrrrriiiimmmm(((())))
  13.  
  14.      vvvvooooiiiidddd eeeennnnddddttttrrrriiiimmmm(((())))
  15.  
  16. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  17.      _n_o_n_e
  18.  
  19. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  20.      Use bbbbggggnnnnttttrrrriiiimmmm to mark the beginning of a definition for a trimming loop.
  21.      Use eeeennnnddddttttrrrriiiimmmm to mark the end of a definition for a trimming loop. A
  22.      trimming loop is a set of oriented curves (forming a closed curve) that
  23.      defines boundaries of a NURBS surface. You include these trimming loop
  24.      definitions in the definition of a NURBS surface.
  25.  
  26.      The definition for a NURBS surface may contain many trimming loops.  For
  27.      example, if you wrote a definition for NURBS surface that resembled a
  28.      rectangle with a hole punched out, the definition would contain two
  29.      trimming loops.  One loop would define the outer edge of the rectangle.
  30.      The other trimming loop would define the hole punched out of the
  31.      rectangle.  The definitions of each of these trimming loops would be
  32.      bracketed by a bbbbggggnnnnttttrrrriiiimmmm////eeeennnnddddttttrrrriiiimmmm pair.
  33.  
  34.      The definition of a single closed trimming loop may consist of multiple
  35.      curve segments, each described as a piecewise linear curve (see ppppwwwwllllccccuuuurrrrvvvveeee)
  36.      or as a single NURBS curve (see nnnnuuuurrrrbbbbssssccccuuuurrrrvvvveeee), or as a combination of both
  37.      in any order. The only Graphics library calls that can appear in a
  38.      trimming loop definition (between a call to bbbbggggnnnnttttrrrriiiimmmm and a call to
  39.      eeeennnnddddttttrrrriiiimmmm) are ppppwwwwllllccccuuuurrrrvvvveeee and nnnnuuuurrrrbbbbssssccccuuuurrrrvvvveeee.
  40.  
  41.      In the following code fragment, we define a single trimming loop that
  42.      consists of one piecewise linear curve and two NURBS curves:
  43.  
  44.           bgntrim();
  45.               pwlcurve(. . .);
  46.               nurbscurve(. . .);
  47.               nurbscurve(. . .);
  48.           endtrim();
  49.  
  50.  
  51.      The area of the NURBS surface that the system displays is the region in
  52.      the domain to the left of the trimming curve as the curve parameter
  53.      increases.  Thus, the resultant visible region of the NURBS surface is
  54.      inside for a counter-clockwise trimming loop and outside for a clockwise
  55.      trimming loop.  So for the rectangle mentioned earlier, the trimming loop
  56.      for the outer edge of the rectangle should run counter-clockwise, and the
  57.      trimming loop for the hole punched out should run clockwise.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. eeeennnnddddttttrrrriiiimmmm((((3333GGGG))))                                                        eeeennnnddddttttrrrriiiimmmm((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      If you use more than one curve to define a single trimming loop, the
  75.      curve segements must form a closed loop (i.e, the endpoint of each curve
  76.      must be the starting point of the next curve, and the endpoint of the
  77.      final curve must be the starting point of the first curve). If the
  78.      endpoints of the curve are sufficiently close together but not exactly
  79.      coincident, the system coerces the them to match.  If the endpoints are
  80.      not sufficiently close, the system generates an error message and ignores
  81.      the entire trimming loop.
  82.  
  83.      If a trimming loop definition contains multiple curves, the direction of
  84.      the curves must be consistent (i.e., the inside must be to the left of
  85.      the curves).  Nested trimming loops are legal as long as the curve
  86.      orientations alternate correctly.  If no trimming information is given
  87.      for a NURBS surface, the entire surface is drawn.
  88.  
  89. NNNNOOOOTTTTEEEE
  90.      On Impact and Infinite Reality llllmmmmccccoooolllloooorrrr cannot be called between bbbbggggnnnnttttrrrriiiimmmm
  91.      and eeeennnnddddttttrrrriiiimmmm
  92.  
  93.  
  94. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  95.      bgnsurface, nurbssurface, nurbscurve, pwlcurve, setnurbsproperty,
  96.      getnurbsproperty
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.